8877. Полный квадрат

 

Дано натуральное число n. Если число n является полным квадратом некоторого натурального m, то выведите число m. В противном случае выведите No.

 

Вход. Одно натуральное число n.

 

Выход. Выведите искомый результат.

 

Пример входа 1

Пример выхода 1

25

5

 

 

Пример входа 2

Пример выхода 2

27

No

 

 

РЕШЕНИЕ

математика

 

Анализ алгоритма

Пусть a = . Если a * a = n, то число n является полным квадратом.

 

Пример

Пусть n = 27. Тогда a =  = 5. Проверяем: 5 * 5 ≠ 27. Следовательно, число 27 не является полным квадратом.

 

Реализация алгоритма

Читаем входное число n.

 

scanf("%d", &n);

 

Вычисляем a = .

 

a = (int)sqrt(n);

 

Если a * a = n, то число n является полным квадратом.

 

if (a * a == n) printf("%d\n", a);

else puts("No");

 

Java реализация

 

import java.util.*;

 

class Main

{

  public static void main(String[] args)

  {

    Scanner con = new Scanner(System.in);

    double n = con.nextDouble();

    int a = (int)Math.sqrt(n);

    if (a * a  == n)

      System.out.println(a);

    else

      System.out.println("No");

    con.close();

  }

}

 

Python реализация

Читаем входное число n.

 

import math

n = int(input())

 

Вычисляем a = .

 

a = int(math.sqrt(n))

 

Если a * a = n, то число n является полным квадратом.

 

if a * a == n: print(a)

else: print("No")